package reflect;

import java.lang.reflect.Method;

public class ReflectDemo4 {
    public static void main(String[] args) throws Exception {
        //0.获取Person的Class对象
        Class personClass = Person.class;

        //获取指定名称的方法
        Method eat_method = personClass.getMethod("eat");

        //创建对象实例，传入method对象的invoke方法，执行方法
        Person person = new Person();
        //执行方法
        eat_method.invoke(person);

        // 获取所有public的方法
        Method[] methods = personClass.getMethods();
        for(Method m:methods){
            System.out.println(m);
            String name = m.getName();
            System.out.println(name);
            //m.setAccessible(true);
        }

        //获取全类名
        String className = personClass.getName();
        System.out.println(className);

    }
}
